package br.gov.mi.corporativo.dominio.boundary.comum.agencia;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.entidade.comum.Agencia;

@Path("agencias")
public class AgenciaRestAdapter extends SpringBeanAutowiringSupport {


	@Autowired
	private AgenciaEndPoint service;
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public Iterable<Agencia> recuperarTodos(){
		
		return service.recuperarTodos();
		
	}

	@GET
	@Path("/id/{id}")
	@Produces({MediaType.APPLICATION_JSON})
	public Agencia recuperarPorId(@PathParam("id")Long id){
		return service.recuperarPorId(id);
	}
	
	@GET
	@Path("/idMunicipio/{id}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<Agencia> recuperarPorIdMunicipio(@PathParam("id")Long id){
		return service.recuperarPorIdMunicipio(id);
	}
	
	@GET
	@Path("/idUf/{id}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<Agencia> recuperarPorIdUf(@PathParam("id")Long id){
		return service.recuperarPorIdUf(id);
	}
	
	@GET
	@Path("/cep/{cep}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<Agencia> recuperarPorCep(@PathParam("cep")String cep){
		return service.recuperarPorCep(cep);
	}
	
	@GET
	@Path("/nome/{nome}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<Agencia> recuperarPorNome(@PathParam("cep")String nome){
		return service.recuperarPorNome(nome);
	}
	
	
	
	
}
